<!DOCTYPE html>
<html>

	<head>
		<meta charset="utf-8">
		<meta name="viewport" content="width=device-width, initial-scale=1,maximum-scale=1,user-scalable=no">
		<meta name="apple-mobile-web-app-capable" content="yes">
		<meta name="apple-mobile-web-app-status-bar-style" content="black">
		<link rel="stylesheet" type="text/css" href="../../css/mui.min.css" />
		<script src="../../js/mui.min.js" type="text/javascript" charset="utf-8"></script>
		<style>
			.main_content p {
				font-size: 1em;
				color: black;
				text-indent: 2em;
				padding: 6px;
			}
			.main_content img {
				padding: 8px;
			}
			.sub_header {
				text-align: center;
				background-color: rgba(0, 188, 0, 0.7);
				height: 36px;
				margin-top: 8px;
				margin-bottom: 8px;
			}
			.sub_header h3 {
				color: white;
				position: relative;
				top: 20%;
				transform: translateY(-50%);
			}
		</style>
	</head>

	<body>
		<header class="mui-bar mui-bar-nav">
			<a class="mui-action-back mui-icon mui-icon-left-nav mui-pull-left"></a>
			<h1 class="mui-title">Java 基础</h1>
		</header>
		<div class="mui-content">
			<div class="mui-content-padded" style="margin: 5px;">
				<div class="sub_header">
					<h3>自增（自减）运算符</h3>
				</div>
				<div class="main_content">
					<h2><span style="color:rgb(0, 0, 0); font-family:幼圆; font-size:16px">自增（++）和自减（--）运算符</span><br />
<span style="color:rgb(0, 0, 0); font-family:幼圆; font-size:16px">在JAVA语言中存在着很多运算符，但是在实际开发中我们或许很少用到它们，在初次学习中却时常出现它们的身影，对于这些运算符的含义和用法，是否还记得呢？下面让我们来看看下面几段Java代码：</span><br />
<span style="color:rgb(0, 0, 0); font-family:幼圆; font-size:16px">int i = 0;</span><br />
<span style="color:rgb(0, 0, 0); font-family:幼圆; font-size:16px">int j = i++;</span><br />
<span style="color:rgb(0, 0, 0); font-family:幼圆; font-size:16px">int k = --i;</span><br />
<span style="color:rgb(0, 0, 0); font-family:幼圆; font-size:16px">这段代码运行后，i等于多少？j等于多少？k等于多少？相信对于这段代码应该没有问题，因为很简单。结果为：i=0，j=0,k=0。那下面这段呢？</span><br />
<span style="color:rgb(0, 0, 0); font-family:幼圆; font-size:16px">int i = 0;</span><br />
<span style="color:rgb(0, 0, 0); font-family:幼圆; font-size:16px">int j = i++ + ++i;</span><br />
<span style="color:rgb(0, 0, 0); font-family:幼圆; font-size:16px">int k = --i + i--;</span><br />
<span style="color:rgb(0, 0, 0); font-family:幼圆; font-size:16px">代码执行后i、j、k分别等于多少呢？答案为i=0,j=2,k=2。不知道对这个结果有没有疑问呢？起初我第一眼扫过去的结果和真正的执行结果是不同的，也就是我判断错了。也许会问，怎么这么简单的问题都弄错呢？是的，有时稍微不注意真会出错。这看的就是我们对Java运算符优先级的认识。来，继续看下面这段代码：</span><br />
<span style="color:rgb(0, 0, 0); font-family:幼圆; font-size:16px">int i=0;</span><br />
<span style="color:rgb(0, 0, 0); font-family:幼圆; font-size:16px">System.out.println(i++);</span><br />
<span style="color:rgb(0, 0, 0); font-family:幼圆; font-size:16px">这段代码运行后输出结果是什么？0？1？答案当然是i=0。这个是毋庸置疑的。接着看下面这段代码：</span><br />
<span style="color:rgb(0, 0, 0); font-family:幼圆; font-size:16px">float f=0.1F;</span><br />
<span style="color:rgb(0, 0, 0); font-family:幼圆; font-size:16px">f++;</span><br />
<span style="color:rgb(0, 0, 0); font-family:幼圆; font-size:16px">double d=0.1D;</span><br />
<span style="color:rgb(0, 0, 0); font-family:幼圆; font-size:16px">d++;</span><br />
<span style="color:rgb(0, 0, 0); font-family:幼圆; font-size:16px">char c=&#39;a&#39;;</span><br />
<span style="color:rgb(0, 0, 0); font-family:幼圆; font-size:16px">c++;</span><br />
<span style="color:rgb(0, 0, 0); font-family:幼圆; font-size:16px">上面这段代码可以编译通过并执行吗？答案是肯定的。如果此时对上面说的都没有问题，那么就可以说明对自增自减运算符已经掌握的很好了。现在就让我们还回顾一下相关知识：</span><br />
<span style="color:rgb(0, 0, 0); font-family:幼圆; font-size:16px">自增（++）：将变量的值加1，分前缀式（如++i）和后缀式（如i++）。前缀式是先加1再使用；后缀式是先使用再加1。</span><br />
<span style="color:rgb(0, 0, 0); font-family:幼圆; font-size:16px">自减（--）：将变量的值减1，分前缀式（如--i）和后缀式（如i--）。前缀式是先减1再使用；后缀式是先使用再减1。&nbsp;</span><br />
<span style="color:rgb(0, 0, 0); font-family:幼圆; font-size:16px">自增与自减运算符还遵循以下规律：</span><br />
<span style="color:rgb(0, 0, 0); font-family:幼圆; font-size:16px">&nbsp;&nbsp; 1. 可以用于整数类型byte、short、int、long，浮点类型float、double，以及字符串类型char。</span><br />
<span style="color:rgb(0, 0, 0); font-family:幼圆; font-size:16px">&nbsp;&nbsp; 2. 在Java5.0及以上版本中，它们可以用于基本类型对应的包装器类Byte、Short、Integer、Long、Float、Double、Character。</span><br />
<span style="color:rgb(0, 0, 0); font-family:幼圆; font-size:16px">&nbsp;&nbsp; 3. 它们的运算结果的类型与被运算的变量的类型相同。&nbsp;</span></h2>
				</div>
			</div>
		</div>

	</body>

</html>